/*
 * @Date: 2023-09-01 11:06:26
 * @LastEditors: bb_c_e_f 18434367522@163.com
 * @LastEditTime: 2023-11-28 09:55:49
 * @FilePath: \part-cloud-app\src\util\amap-wx.130.js
 */
/* eslint-disable eslint-comments/no-unlimited-disable */
// eslint-disable
/* eslint-disable*/
function AMapWX(a) { this.key = a.key; this.requestConfig = { key: a.key, s: 'rsx', platform: 'WXJS', appname: a.key, sdkversion: '1.2.0', logversion: '2.0' }; this.MeRequestConfig = { key: a.key, serviceName: 'https://restapi.amap.com/rest/me' } }
AMapWX.prototype.getWxLocation = function (a, b) { wx.getLocation({ type: 'gcj02',isHighAccuracy: true,  success(c) { c = `${c.longitude},${c.latitude}`; wx.setStorage({ key: 'userLocation', data: c }); b(c) }, fail(c) { wx.getStorage({ key: 'userLocation', success(d) { d.data && b(d.data) } }); a.fail({ errCode: '0', errMsg: c.errMsg || '' }) } }) }
AMapWX.prototype.getMEKeywordsSearch = function (a) {
  if (!a.options)
    return a.fail({ errCode: '0', errMsg: '\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570' }); const b = a.options; const c = this.MeRequestConfig; const d = { key: c.key, s: 'rsx', platform: 'WXJS', appname: a.key, sdkversion: '1.2.0', logversion: '2.0' }; b.layerId && (d.layerId = b.layerId); b.keywords && (d.keywords = b.keywords); b.city && (d.city = b.city); b.filter && (d.filter = b.filter); b.sortrule && (d.sortrule = b.sortrule); b.pageNum && (d.pageNum = b.pageNum); b.pageSize && (d.pageSize = b.pageSize); b.sig && (d.sig
= b.sig); wx.request({ url: `${c.serviceName}/cpoint/datasearch/local`, data: d, method: 'GET', header: { 'content-type': 'application/json' }, success(e) { (e = e.data) && e.status && e.status === '1' && e.code === 0 ? a.success(e.data) : a.fail({ errCode: '0', errMsg: e }) }, fail(e) { a.fail({ errCode: '0', errMsg: e.errMsg || '' }) } })
}
AMapWX.prototype.getMEIdSearch = function (a) {
  if (!a.options)
    return a.fail({ errCode: '0', errMsg: '\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570' }); const b = a.options; const c = this.MeRequestConfig; const d = { key: c.key, s: 'rsx', platform: 'WXJS', appname: a.key, sdkversion: '1.2.0', logversion: '2.0' }; b.layerId && (d.layerId = b.layerId); b.id && (d.id = b.id); b.sig && (d.sig = b.sig); wx.request({
    url: `${c.serviceName}/cpoint/datasearch/id`,
    data: d,
    method: 'GET',
    header: { 'content-type': 'application/json' },
    success(e) {
      (e = e.data) && e.status && e.status === '1'
&& e.code === 0
        ? a.success(e.data)
        : a.fail({ errCode: '0', errMsg: e })
    },
    fail(e) { a.fail({ errCode: '0', errMsg: e.errMsg || '' }) },
  })
}
AMapWX.prototype.getMEPolygonSearch = function (a) {
  if (!a.options)
    return a.fail({ errCode: '0', errMsg: '\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570' }); const b = a.options; const c = this.MeRequestConfig; const d = { key: c.key, s: 'rsx', platform: 'WXJS', appname: a.key, sdkversion: '1.2.0', logversion: '2.0' }; b.layerId && (d.layerId = b.layerId); b.keywords && (d.keywords = b.keywords); b.polygon && (d.polygon = b.polygon); b.filter && (d.filter = b.filter); b.sortrule && (d.sortrule = b.sortrule); b.pageNum && (d.pageNum = b.pageNum); b.pageSize && (d.pageSize = b.pageSize)
  b.sig && (d.sig = b.sig); wx.request({ url: `${c.serviceName}/cpoint/datasearch/polygon`, data: d, method: 'GET', header: { 'content-type': 'application/json' }, success(e) { (e = e.data) && e.status && e.status === '1' && e.code === 0 ? a.success(e.data) : a.fail({ errCode: '0', errMsg: e }) }, fail(e) { a.fail({ errCode: '0', errMsg: e.errMsg || '' }) } })
}
AMapWX.prototype.getMEaroundSearch = function (a) {
  if (!a.options)
    return a.fail({ errCode: '0', errMsg: '\u7F3A\u5C11\u5FC5\u8981\u53C2\u6570' }); const b = a.options; const c = this.MeRequestConfig; const d = { key: c.key, s: 'rsx', platform: 'WXJS', appname: a.key, sdkversion: '1.2.0', logversion: '2.0' }; b.layerId && (d.layerId = b.layerId); b.keywords && (d.keywords = b.keywords); b.center && (d.center = b.center); b.radius && (d.radius = b.radius); b.filter && (d.filter = b.filter); b.sortrule && (d.sortrule = b.sortrule); b.pageNum && (d.pageNum = b.pageNum); b.pageSize
&& (d.pageSize = b.pageSize); b.sig && (d.sig = b.sig); wx.request({ url: `${c.serviceName}/cpoint/datasearch/around`, data: d, method: 'GET', header: { 'content-type': 'application/json' }, success(e) { (e = e.data) && e.status && e.status === '1' && e.code === 0 ? a.success(e.data) : a.fail({ errCode: '0', errMsg: e }) }, fail(e) { a.fail({ errCode: '0', errMsg: e.errMsg || '' }) } })
}
AMapWX.prototype.getGeo = function (a) {
  let b = this.requestConfig; const c = a.options; b = { key: this.key, extensions: 'all', s: b.s, platform: b.platform, appname: this.key, sdkversion: b.sdkversion, logversion: b.logversion }; c.address && (b.address = c.address); c.city && (b.city = c.city); c.batch && (b.batch = c.batch); c.sig && (b.sig = c.sig); wx.request({
    url: 'https://restapi.amap.com/v3/geocode/geo',
    data: b,
    method: 'GET',
    header: { 'content-type': 'application/json' },
    success(d) {
      (d = d.data) && d.status && d.status === '1'
        ? a.success(d)
        : a.fail({
          errCode: '0',
          errMsg: d,
        })
    },
    fail(d) { a.fail({ errCode: '0', errMsg: d.errMsg || '' }) },
  })
}
AMapWX.prototype.getRegeo = function (a) {
  function b(d) {
    const e = c.requestConfig; wx.request({
      url: 'https://restapi.amap.com/v3/geocode/regeo',
      data: { key: c.key, location: d, extensions: 'all', s: e.s, platform: e.platform, appname: c.key, sdkversion: e.sdkversion, logversion: e.logversion },
      method: 'GET',
      header: { 'content-type': 'application/json' },
      success(g) {
        if (g.data.status && g.data.status == '1') {
          g = g.data.regeocode; const h = g.addressComponent; let f = []; let k = `${g.roads[0].name}\u9644\u8FD1`; let m = d.split(',')[0]; let n = d.split(',')[1]; if (g.pois
&& g.pois[0]) { k = `${g.pois[0].name}\u9644\u8FD1`; const l = g.pois[0].location; l && (m = parseFloat(l.split(',')[0]), n = parseFloat(l.split(',')[1])) }h.provice && f.push(h.provice); h.city && f.push(h.city); h.district && f.push(h.district); h.streetNumber && h.streetNumber.street && h.streetNumber.number ? (f.push(h.streetNumber.street), f.push(h.streetNumber.number)) : f.push(g.roads[0].name); f = f.join(''); a.success([{ iconPath: a.iconPath, width: a.iconWidth, height: a.iconHeight, name: f, desc: k, longitude: m, latitude: n, id: 0, regeocodeData: g }])
        }
        else {
          a.fail({
            errCode: g.data.infocode,
            errMsg: g.data.info,
          })
        }
      },
      fail(g) { a.fail({ errCode: '0', errMsg: g.errMsg || '' }) },
    })
  } var c = this; a.location ? b(a.location) : c.getWxLocation(a, (d) => { b(d) })
}
AMapWX.prototype.getWeather = function (a) {
  function b(g) {
    let h = 'base'; a.type && a.type == 'forecast' && (h = 'all'); wx.request({
      url: 'https://restapi.amap.com/v3/weather/weatherInfo',
      data: { key: d.key, city: g, extensions: h, s: e.s, platform: e.platform, appname: d.key, sdkversion: e.sdkversion, logversion: e.logversion },
      method: 'GET',
      header: { 'content-type': 'application/json' },
      success(f) {
        if (f.data.status && f.data.status == '1') {
          if (f.data.lives) {
            if ((f = f.data.lives) && f.length > 0) {
              f = f[0]; const k = {
                city: { text: '\u57CE\u5E02', data: f.city },
                weather: { text: '\u5929\u6C14', data: f.weather },
                temperature: { text: '\u6E29\u5EA6', data: f.temperature },
                winddirection: { text: '\u98CE\u5411', data: `${f.winddirection}\u98CE` },
                windpower: { text: '\u98CE\u529B', data: `${f.windpower}\u7EA7` },
                humidity: { text: '\u6E7F\u5EA6', data: `${f.humidity}%` },
              }; k.liveData = f; a.success(k)
            }
          }
          else { f.data.forecasts && f.data.forecasts[0] && a.success({ forecast: f.data.forecasts[0] }) }
        }
        else { a.fail({ errCode: f.data.infocode, errMsg: f.data.info }) }
      },
      fail(f) { a.fail({ errCode: '0', errMsg: f.errMsg || '' }) },
    })
  }
  function c(g) {
    wx.request({
      url: 'https://restapi.amap.com/v3/geocode/regeo',
      data: { key: d.key, location: g, extensions: 'all', s: e.s, platform: e.platform, appname: d.key, sdkversion: e.sdkversion, logversion: e.logversion },
      method: 'GET',
      header: { 'content-type': 'application/json' },
      success(h) {
        if (h.data.status && h.data.status == '1') {
          h = h.data.regeocode; if (h.addressComponent)
            var f = h.addressComponent.adcode; else h.aois && h.aois.length > 0 && (f = h.aois[0].adcode); b(f)
        }
        else { a.fail({ errCode: h.data.infocode, errMsg: h.data.info }) }
      },
      fail(h) { a.fail({ errCode: '0', errMsg: h.errMsg || '' }) },
    })
  } var d = this; var e = d.requestConfig; a.city ? b(a.city) : d.getWxLocation(a, (g) => { c(g) })
}
AMapWX.prototype.getPoiAround = function (a) {
  function b(e) {
    e = { key: c.key, location: e, s: d.s, platform: d.platform, appname: c.key, sdkversion: d.sdkversion, logversion: d.logversion }; a.querytypes && (e.types = a.querytypes); a.querykeywords && (e.keywords = a.querykeywords); wx.request({
      url: 'https://restapi.amap.com/v3/place/around',
      data: e,
      method: 'GET',
      header: { 'content-type': 'application/json' },
      success(g) {
        if (g.data.status && g.data.status == '1') {
          if ((g = g.data) && g.pois) {
            for (var h = [], f = 0; f < g.pois.length; f++) {
              const k = f
== 0
                ? a.iconPathSelected
                : a.iconPath; h.push({ latitude: parseFloat(g.pois[f].location.split(',')[1]), longitude: parseFloat(g.pois[f].location.split(',')[0]), iconPath: k, width: 22, height: 32, id: f, name: g.pois[f].name, address: g.pois[f].address })
            }a.success({ markers: h, poisData: g.pois })
          }
        }
        else { a.fail({ errCode: g.data.infocode, errMsg: g.data.info }) }
      },
      fail(g) { a.fail({ errCode: '0', errMsg: g.errMsg || '' }) },
    })
  } var c = this; var d = c.requestConfig; a.location ? b(a.location) : c.getWxLocation(a, (e) => { b(e) })
}
AMapWX.prototype.getStaticmap = function (a) {
  function b(e) { c.push(`location=${e}`); a.zoom && c.push(`zoom=${a.zoom}`); a.size && c.push(`size=${a.size}`); a.scale && c.push(`scale=${a.scale}`); a.markers && c.push(`markers=${a.markers}`); a.labels && c.push(`labels=${a.labels}`); a.paths && c.push(`paths=${a.paths}`); a.traffic && c.push(`traffic=${a.traffic}`); e = `https://restapi.amap.com/v3/staticmap?${c.join('&')}`; a.success({ url: e }) } var c = []; c.push(`key=${this.key}`); const d = this.requestConfig; c.push(`s=${d.s}`); c.push(`platform=${d.platform}`)
  c.push(`appname=${d.appname}`); c.push(`sdkversion=${d.sdkversion}`); c.push(`logversion=${d.logversion}`); a.location ? b(a.location) : this.getWxLocation(a, (e) => { b(e) })
}
AMapWX.prototype.getInputtips = function (a) {
  const b = Object.assign({}, this.requestConfig); a.location && (b.location = a.location); a.keywords && (b.keywords = a.keywords); a.type && (b.type = a.type); a.city && (b.city = a.city); a.citylimit && (b.citylimit = a.citylimit); wx.request({
    url: 'https://restapi.amap.com/v3/assistant/inputtips',
    data: b,
    method: 'GET',
    header: { 'content-type': 'application/json' },
    success(c) { c && c.data && c.data.tips && a.success({ tips: c.data.tips }) },
    fail(c) {
      a.fail({
        errCode: '0',
        errMsg: c.errMsg
|| '',
      })
    },
  })
}
AMapWX.prototype.getDrivingRoute = function (a) {
  const b = Object.assign({}, this.requestConfig); a.origin && (b.origin = a.origin); a.destination && (b.destination = a.destination); a.strategy && (b.strategy = a.strategy); a.waypoints && (b.waypoints = a.waypoints); a.avoidpolygons && (b.avoidpolygons = a.avoidpolygons); a.avoidroad && (b.avoidroad = a.avoidroad); wx.request({
    url: 'https://restapi.amap.com/v3/direction/driving',
    data: b,
    method: 'GET',
    header: { 'content-type': 'application/json' },
    success(c) {
      c && c.data && c.data.route && a.success({
        paths: c.data.route.paths,
        taxi_cost: c.data.route.taxi_cost || '',
      })
    },
    fail(c) { a.fail({ errCode: '0', errMsg: c.errMsg || '' }) },
  })
}
AMapWX.prototype.getWalkingRoute = function (a) { const b = Object.assign({}, this.requestConfig); a.origin && (b.origin = a.origin); a.destination && (b.destination = a.destination); wx.request({ url: 'https://restapi.amap.com/v3/direction/walking', data: b, method: 'GET', header: { 'content-type': 'application/json' }, success(c) { c && c.data && c.data.route && a.success({ paths: c.data.route.paths }) }, fail(c) { a.fail({ errCode: '0', errMsg: c.errMsg || '' }) } }) }
AMapWX.prototype.getTransitRoute = function (a) {
  const b = Object.assign({}, this.requestConfig); a.origin && (b.origin = a.origin); a.destination && (b.destination = a.destination); a.strategy && (b.strategy = a.strategy); a.city && (b.city = a.city); a.cityd && (b.cityd = a.cityd); wx.request({
    url: 'https://restapi.amap.com/v3/direction/transit/integrated',
    data: b,
    method: 'GET',
    header: { 'content-type': 'application/json' },
    success(c) {
      c && c.data && c.data.route && (c = c.data.route, a.success({
        distance: c.distance || '',
        taxi_cost: c.taxi_cost
|| '',
        transits: c.transits,
      }))
    },
    fail(c) { a.fail({ errCode: '0', errMsg: c.errMsg || '' }) },
  })
}
AMapWX.prototype.getRidingRoute = function (a) { const b = Object.assign({}, this.requestConfig); a.origin && (b.origin = a.origin); a.destination && (b.destination = a.destination); wx.request({ url: 'https://restapi.amap.com/v3/direction/riding', data: b, method: 'GET', header: { 'content-type': 'application/json' }, success(c) { c && c.data && c.data.route && a.success({ paths: c.data.route.paths }) }, fail(c) { a.fail({ errCode: '0', errMsg: c.errMsg || '' }) } }) }
// module.exports.AMapWX=AMapWX;
export const AMapWXs = AMapWX
